home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_perl.idb / usr / freeware / catman / p_man / cat3 / B::C.Z / B::C
Encoding:
Text File  |  1998-10-28  |  4.7 KB  |  199 lines

  1.  
  2.  
  3.  
  4.      BBBB::::::::CCCC((((3333))))         22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222))))           BBBB::::::::CCCC((((3333))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.       B::C - Perl compiler's C backend
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           perl -MO=C[,OPTIONS] foo.pl
  13.  
  14.  
  15.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  16.       This compiler    backend    takes Perl source and generates    C
  17.       source code corresponding to the internal structures that
  18.       perl uses to run your    program. When the generated C source
  19.       is compiled and run, it cuts out the time which perl would
  20.       have taken to    load and parse your program into its internal
  21.       semi-compiled    form. That means that compiling    with this
  22.       backend will not help    improve    the runtime execution speed of
  23.       your program but may improve the start-up time.  Depending
  24.       on the environment in    which your program runs    this may be
  25.       either a help    or a hindrance.
  26.  
  27.      OOOOPPPPTTTTIIIIOOOONNNNSSSS
  28.       If there are any non-option arguments, they are taken    to be
  29.       names    of objects to be saved (probably doesn't work properly
  30.       yet).     Without extra arguments, it saves the main program.
  31.  
  32.       ----ooooffffiiiilllleeeennnnaaaammmmeeee
  33.           Output to    filename instead of STDOUT
  34.  
  35.       ----vvvv  Verbose compilation (currently gives a few compilation
  36.           statistics).
  37.  
  38.       --------  Force end    of options
  39.  
  40.       ----uuuuPPPPaaaacccckkkknnnnaaaammmmeeee
  41.           Force apparently unused subs from    package    Packname to be
  42.           compiled.     This allows programs to use eval "_f_o_o()" even
  43.           when sub foo is never seen to be used at compile time.
  44.           The down side is that any    subs which really are never
  45.           used also    have code generated. This option is necessary,
  46.           for example, if you have a signal    handler    foo which you
  47.           initialise with $SIG{BAR}    = "foo".  A better fix,
  48.           though, is just to change    it to $SIG{BAR}    = \&foo. You
  49.           can have multiple    ----uuuu options. The    compiler tries to
  50.           figure out which packages    may possibly have subs in
  51.           which need compiling but the current version doesn't do
  52.           it very well. In particular, it is confused by nested
  53.           packages (i.e.  of the form A::B)    where package A    does
  54.           not contain any subs.
  55.  
  56.       ----DDDD  Debug options (concatenated or separate flags like perl
  57.           -D).
  58.  
  59.  
  60.  
  61.  
  62.  
  63.      Page 1                        (printed 10/23/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      BBBB::::::::CCCC((((3333))))         22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222))))           BBBB::::::::CCCC((((3333))))
  71.  
  72.  
  73.  
  74.       ----DDDDoooo OPs, prints each OP as it's processed
  75.  
  76.       ----DDDDcccc COPs, prints COPs    as processed (incl. file & line    num)
  77.  
  78.       ----DDDDAAAA prints AV    information on saving
  79.  
  80.       ----DDDDCCCC prints CV    information on saving
  81.  
  82.       ----DDDDMMMM prints MAGIC information on saving
  83.  
  84.       ----ffff  Force optimisations on or    off one    at a time.
  85.  
  86.       ----ffffccccoooogggg
  87.           Copy-on-grow: PVs    declared and initialised statically.
  88.  
  89.       ----ffffnnnnoooo----ccccoooogggg
  90.           No copy-on-grow.
  91.  
  92.       ----OOOOnnnn Optimisation level (n = 0, 1, 2, ...). ----OOOO    means ----OOOO1111.
  93.           Currently, ----OOOO1111 and higher    set ----ffffccccoooogggg.
  94.  
  95.      EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
  96.           perl -MO=C,-ofoo.c foo.pl
  97.           perl cc_harness -o foo foo.c
  98.  
  99.       Note that cc_harness lives in    the B subdirectory of your
  100.       perl library directory. The utility called perlcc may    also
  101.       be used to help make use of this compiler.
  102.  
  103.           perl -MO=C,-v,-DcA bar.pl    > /dev/null
  104.  
  105.  
  106.      BBBBUUUUGGGGSSSS
  107.       Plenty. Current status: experimental.
  108.  
  109.      AAAAUUUUTTTTHHHHOOOORRRR
  110.       Malcolm Beattie, mbeattie@sable.ox.ac.uk
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.      Page 2                        (printed 10/23/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      BBBB::::::::CCCC((((3333))))         22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222))))           BBBB::::::::CCCC((((3333))))
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.      Page 3                        (printed 10/23/98)
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.